<?php
namespace Home\Logic\OrderLogic;

interface IOrder {
	
	/**
	 * 订单id
	 * @param int $orderId
	 */
	public function getOrder( $orderId );
	
	
	/**
	 * 绑定订单详细
	 * @param $orders 订单或订单列表
	 */
	public function bindOrdersDetail( &$orders );
	
	/**
	 * 获得预付款订单
	 * @param $orderId 订单id
	 * @param $options
	 * array(
	 * 	 'addressId' => '1247',
	 * )
	 */
	public function getPayingOrder( $orderId, $options );
	
	/**
	 * 获得欲保存订单
	 * @param $options
	 * array(
	 *   'agengId' => 1,  // 购买时的代理商id
	 * 	 'goods' => array(
	 * 		 '1(产品id)' => array(
	 * 		    '属性名|值' => array(
	 * 			   'quantity' => 1,
	 * 		    ),
	 * 		 )
	 * 	  )
	 * )
	 */
	public function getSaveingOrder( $options );
	
	/**
	 * 添加订单
	 * @param $orderNo
	 * @param $payApitype
	 */
	public function addOrder( $orderNo, $payApitype );
	
	/**
	 * 订单数据库中一条订单的关联数据
	 * @param unknown $orderId
	 */
	public function getOne( $orderId );
	
	/**
	 * 获得订单列表
	 * @param unknown $condition
	 * @return unknown
	 */
	public function getList( $condition );
	
	/**
	 * 订单签收
	 * @param int $orderId 订单
	 */
	public function confirmSign( $orderId );
	
	/**
	 * 获得错误信息
	 */
	public function getError();
	
}